package com.itxiuyixiu.homework.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

/**
 * Swagger配置文件
 *
 * @author 黄磊
 * @date 2020/3/5
 */
@Configuration
@EnableSwagger2
public class SwaggerConfig {

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("东华大学—数据库课程设计作业")
                .description("客户管理中心 API 1.0 操作文档")
                //服务条款网址
                .termsOfServiceUrl("http://39.108.109.99/")
                .version("1.0")
                .build();
    }

    /**
     *此方法使用 @Bean，在启动时初始化，返回实例 Docket（Swagger API 摘要），
     *这里需要注意的是 .apis(RequestHandlerSelectors.basePackage("com.neo.xxx"))
     *指定需要扫描的包路径，只有此路径下的 Controller 类才会自动生成 Swagger API
     *文档。
     **/
    @Bean
    public Docket api(){
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                // 自行修改为自己的包路径
                .apis(RequestHandlerSelectors.basePackage("com.itxiuyixiu.homework"))
                .paths(PathSelectors.any())
                .build();
    }
}
